<?php
// +----------------------------------------------------------------------
// | Qbt CMS Plugin
// +----------------------------------------------------------------------
// | Copyright (c) 2012-2018 http://www.qbt8.com All rights reserved.
// +----------------------------------------------------------------------
// | Author: 黄老邪 <develop02@qbt8.com>
// +----------------------------------------------------------------------
namespace plugins\qbt_wx_os;
use cmf\lib\Plugin;
use think\Config;
use think\db;

class QbtWxOsPlugin extends Plugin
{

    public $info = [
        'name'        => 'QbtWxOs',
        'title'       => '微信管理系统',
        'description' => '千佰特微信管理',
        'status'      => 1,
        'author'      => '大楠',
        'version'     => '1.0',
        'demo_url'    => 'http://www.qbt8.com',
        'author_url'  => 'http://www.qbt8.com'
    ];

    public $hasAdmin = 1;//插件是否有后台管理界面

    // 插件安装
    public function install()
    {
        $config = Config::get('database');
        Db::query("
            CREATE TABLE IF NOT EXISTS `{$config['prefix']}wx_os_config` (
            `id` int(11) NOT NULL AUTO_INCREMENT,
              `wx_name` varchar (18) DEFAULT NULL,
              `token` varchar (255) DEFAULT NULL,
              `appid` char (18) DEFAULT NULL,
              `appsecret` char (32) DEFAULT NULL,
              PRIMARY KEY (`id`)
            )
        ");
        Db::query("
            CREATE TABLE IF NOT EXISTS `{$config['prefix']}wx_os_reply` (
              `id` int(11) NOT NULL AUTO_INCREMENT,
              `keyword` varchar (255) DEFAULT NULL COMMENT '关键字',
              `str` varchar (255) DEFAULT NULL COMMENT '文字回复',
              `image` varchar (255) DEFAULT NULL COMMENT '图片回复',
              `img_str` text DEFAULT NULL COMMENT '图文回复',
              `media_id` varchar (255) DEFAULT NULL COMMENT 'media_id',
              `type` tinyint (2) DEFAULT NULL COMMENT '回复类型 1文字，2图片，3图文，9欢迎语',
              `status` tinyint(2) DEFAULT 0 COMMENT '1启用0禁用',
              `add_time` int(11) DEFAULT NULL COMMENT '添加/修改时间',
              PRIMARY KEY (`id`)
            )
        ");
        Db::query("
            CREATE TABLE IF NOT EXISTS `{$config['prefix']}wx_os_menu` (
              `id` int(11) NOT NULL AUTO_INCREMENT,
              `lv_type` tinyint (2) DEFAULT NULL COMMENT '一级菜单以及二级菜单',
              `menu_name` varchar (255) DEFAULT NULL COMMENT '菜单名称',
              `name_type` tinyint (2) DEFAULT NULL COMMENT '菜单的类型 1为点击事件 2为跳转事件',
              `key` varchar (255) DEFAULT NULL COMMENT 'KEY',
              `content` varchar (255) DEFAULT NULL COMMENT '回复的内容',
              `url` varchar (255) DEFAULT NULL COMMENT 'url的跳转',
              `p_id` int (11) DEFAULT NULL COMMENT '父类id',
              `g_id` int (11) DEFAULT NULL COMMENT '个性id',
              `type` tinyint (2) DEFAULT NULL COMMENT '所属类型 1文字，2图片，3图文',
              `status` tinyint(2) NOT NULL COMMENT '1启用0禁用',
              `add_time` int(11) DEFAULT NULL COMMENT '添加/修改时间',
              PRIMARY KEY (`id`)
            )
        ");

        Db::query("
            CREATE TABLE IF NOT EXISTS `{$config['prefix']}wx_os_provincial` (
              `pid` int(11) NOT NULL AUTO_INCREMENT,
              `provincial` varchar(255) NOT NULL,
                PRIMARY KEY (`pid`)
            )
        ");

        Db::query(
            "INSERT INTO `qbtcmf_wx_os_menu` VALUES (1,1,'默认菜单',1,'MENU','默认菜单','',0,0,NULL,1,1543473928);"
        );
        
        Db::query("
            INSERT INTO `qbtcmf_wx_os_provincial` VALUES (1, '北京')
                ,(2, '天津')
                ,(3, '上海')
                ,(4, '重庆')
                ,(5, '河北')
                ,(6, '山西')
                ,(7, '台湾')
                ,(8, '辽宁')
                ,(9, '吉林')
                ,(10, '黑龙江')
                ,(11, '江苏')
                ,(12, '浙江')
                ,(13, '安徽')
                ,(14, '福建')
                ,(15, '江西')
                ,(16, '山东')
                ,(17, '河南')
                ,(18, '湖北')
                ,(19, '湖南')
                ,(20, '广东')
                ,(21, '甘肃')
                ,(22, '四川')
                ,(23, '贵州')
                ,(24, '海南')
                ,(25, '云南')
                ,(26, '青海')
                ,(27, '陕西')
                ,(28, '广西壮族自治区')
                ,(29, '西藏自治区')
                ,(30, '宁夏回族自治区')
                ,(31, '新疆维吾尔自治区')
                ,(32, '内蒙古自治区')
                ,(33, '澳门特别行政区')
                ,(34, '香港特别行政区')
                ,(35, '');
        ");
        Db::query("
            CREATE TABLE IF NOT EXISTS `{$config['prefix']}wx_os_city` (
                `cid` int(11) NOT NULL,
                `city` varchar(255) NOT NULL,
                `pid` int(11) NOT NULL
            )
        ");
        Db::query("
            INSERT INTO `qbtcmf_wx_os_city` VALUES ('1', '北京', '1')
                ,('1', '天津', '2')
                ,('1', '上海', '3')
                ,('1', '重庆', '4')
                ,('1', '石家庄', '5')
                ,('2', '唐山', '5')
                ,('3', '秦皇岛', '5')
                ,('4', '邯郸', '5')
                ,('5', '邢台', '5')
                ,('6', '保定', '5')
                ,('7', '张家口', '5')
                ,('8', '承德', '5')
                ,('9', '沧州', '5')
                ,('10', '廊坊', '5')
                ,('11', '衡水', '5')
                ,('1', '太原', '6')
                ,('2', '大同', '6')
                ,('3', '阳泉', '6')
                ,('4', '长治', '6')
                ,('5', '晋城', '6')
                ,('6', '朔州', '6')
                ,('7', '晋中', '6')
                ,('8', '运城', '6')
                ,('9', '忻州', '6')
                ,('10', '临汾', '6')
                ,('11', '吕梁', '6')
                ,('1', '台北', '7')
                ,('2', '高雄', '7')
                ,('3', '基隆', '7')
                ,('4', '台中', '7')
                ,('5', '台南', '7')
                ,('6', '新竹', '7')
                ,('7', '嘉义', '7')
                ,('8', '台北县', '7')
                ,('9', '宜兰县', '7')
                ,('10', '桃园县', '7')
                ,('11', '新竹县', '7')
                ,('12', '苗栗县', '7')
                ,('13', '台中县', '7')
                ,('14', '彰化县', '7')
                ,('15', '南投县', '7')
                ,('16', '云林县', '7')
                ,('17', '嘉义县', '7')
                ,('18', '台南县', '7')
                ,('19', '高雄县', '7')
                ,('20', '屏东县', '7')
                ,('21', '澎湖县', '7')
                ,('22', '台东县', '7')
                ,('23', '花莲县', '7')
                ,('1', '沈阳', '8')
                ,('2', '大连', '8')
                ,('3', '鞍山', '8')
                ,('4', '抚顺', '8')
                ,('5', '本溪', '8')
                ,('6', '丹东', '8')
                ,('7', '锦州', '8')
                ,('8', '营口', '8')
                ,('9', '阜新', '8')
                ,('10', '辽阳', '8')
                ,('11', '盘锦', '8')
                ,('12', '铁岭', '8')
                ,('13', '朝阳', '8')
                ,('14', '葫芦岛', '8')
                ,('1', '长春', '9')
                ,('2', '吉林', '9')
                ,('3', '四平', '9')
                ,('4', '辽源', '9')
                ,('5', '通化', '9')
                ,('6', '白山', '9')
                ,('7', '松原', '9')
                ,('8', '白城', '9')
                ,('9', '延边朝鲜族自治州', '9')
                ,('1', '哈尔滨', '10')
                ,('2', '齐齐哈尔', '10')
                ,('3', '鹤 岗 ', '10')
                ,('4', '双鸭山', '10')
                ,('5', '鸡 西 ', '10')
                ,('6', '大 庆 ', '10')
                ,('7', '伊 春 ', '10')
                ,('8', '牡丹江', '10')
                ,('9', '佳木斯', '10')
                ,('10', '七台河', '10')
                ,('11', '黑 河 ', '10')
                ,('12', '绥 化 ', '10')
                ,('13', '大兴安岭地区', '10')
                ,('1', '南京', '11')
                ,('2', '无锡', '11')
                ,('3', '徐州', '11')
                ,('4', '常州', '11')
                ,('5', '苏州', '11')
                ,('6', '南通', '11')
                ,('7', '连云港', '11')
                ,('8', '淮安', '11')
                ,('9', '盐城', '11')
                ,('10', '扬州', '11')
                ,('11', '镇江', '11')
                ,('12', '泰州', '11')
                ,('13', '宿迁', '11')
                ,('1', '杭州', '12')
                ,('2', '宁波', '12')
                ,('3', '温州', '12')
                ,('4', '嘉兴', '12')
                ,('5', '湖州', '12')
                ,('6', '绍兴', '12')
                ,('7', '金华', '12')
                ,('8', '衢州', '12')
                ,('9', '舟山', '12')
                ,('10', '台州', '12')
                ,('11', '丽水', '12')
                ,('1', '合肥', '13')
                ,('2', '芜湖', '13')
                ,('3', '蚌埠', '13')
                ,('4', '淮南', '13')
                ,('5', '马鞍山', '13')
                ,('6', '淮北', '13')
                ,('7', '铜陵', '13')
                ,('8', '安庆', '13')
                ,('9', '黄山', '13')
                ,('10', '滁州', '13')
                ,('11', '阜阳', '13')
                ,('12', '宿州', '13')
                ,('13', '巢湖', '13')
                ,('14', '六安', '13')
                ,('15', '亳州', '13')
                ,('16', '池州', '13')
                ,('17', '宣城', '13')
                ,('1', '福州', '14')
                ,('2', '厦门', '14')
                ,('3', '莆田', '14')
                ,('4', '三明', '14')
                ,('5', '泉州', '14')
                ,('6', '漳州', '14')
                ,('7', '南平', '14')
                ,('8', '龙岩', '14')
                ,('9', '宁德', '14')
                ,('1', '南昌', '15')
                ,('2', '景德镇', '15')
                ,('3', '萍乡', '15')
                ,('4', '九江', '15')
                ,('5', '新余', '15')
                ,('6', '鹰潭', '15')
                ,('7', '赣州', '15')
                ,('8', '吉安', '15')
                ,('9', '宜春', '15')
                ,('10', '抚州', '15')
                ,('11', '上饶', '15')
                ,('1', '济南', '16')
                ,('2', '青岛', '16')
                ,('3', '淄博', '16')
                ,('4', '枣庄', '16')
                ,('5', '东营', '16')
                ,('6', '烟台', '16')
                ,('7', '潍坊', '16')
                ,('8', '济宁', '16')
                ,('9', '泰安', '16')
                ,('10', '威海', '16')
                ,('11', '日照', '16')
                ,('12', '莱芜', '16')
                ,('13', '临沂', '16')
                ,('14', '德州', '16')
                ,('15', '聊城', '16')
                ,('16', '滨州', '16')
                ,('17', '菏泽', '16')
                ,('1', '郑州', '17')
                ,('2', '开封', '17')
                ,('3', '洛阳', '17')
                ,('4', '平顶山', '17')
                ,('5', '安阳', '17')
                ,('6', '鹤壁', '17')
                ,('7', '新乡', '17')
                ,('8', '焦作', '17')
                ,('9', '濮阳', '17')
                ,('10', '许昌', '17')
                ,('11', '漯河', '17')
                ,('12', '三门峡', '17')
                ,('13', '南阳', '17')
                ,('14', '商丘', '17')
                ,('15', '信阳', '17')
                ,('16', '周口', '17')
                ,('17', '驻马店', '17')
                ,('18', '济源', '17')
                ,('1', '武汉', '18')
                ,('2', '黄石', '18')
                ,('3', '十堰', '18')
                ,('4', '荆州', '18')
                ,('5', '宜昌', '18')
                ,('6', '襄樊', '18')
                ,('7', '鄂州', '18')
                ,('8', '荆门', '18')
                ,('9', '孝感', '18')
                ,('10', '黄冈', '18')
                ,('11', '咸宁', '18')
                ,('12', '随州', '18')
                ,('13', '仙桃', '18')
                ,('14', '天门', '18')
                ,('15', '潜江', '18')
                ,('16', '神农架林区', '18')
                ,('17', '恩施土家族苗族自治州', '18')
                ,('1', '长沙', '19')
                ,('2', '株洲', '19')
                ,('3', '湘潭', '19')
                ,('4', '衡阳', '19')
                ,('5', '邵阳', '19')
                ,('6', '岳阳', '19')
                ,('7', '常德', '19')
                ,('8', '张家界', '19')
                ,('9', '益阳', '19')
                ,('10', '郴州', '19')
                ,('11', '永州', '19')
                ,('12', '怀化', '19')
                ,('13', '娄底', '19')
                ,('14', '湘西土家族苗族自治州', '19')
                ,('1', '广州', '20')
                ,('2', '深圳', '20')
                ,('3', '珠海', '20')
                ,('4', '汕头', '20')
                ,('5', '韶关', '20')
                ,('6', '佛山', '20')
                ,('7', '江门', '20')
                ,('8', '湛江', '20')
                ,('9', '茂名', '20')
                ,('10', '肇庆', '20')
                ,('11', '惠州', '20')
                ,('12', '梅州', '20')
                ,('13', '汕尾', '20')
                ,('14', '河源', '20')
                ,('15', '阳江', '20')
                ,('16', '清远', '20')
                ,('17', '东莞', '20')
                ,('18', '中山', '20')
                ,('19', '潮州', '20')
                ,('20', '揭阳', '20')
                ,('21', '云浮', '20')
                ,('1', '兰州', '21')
                ,('2', '金昌', '21')
                ,('3', '白银', '21')
                ,('4', '天水', '21')
                ,('5', '嘉峪关', '21')
                ,('6', '武威', '21')
                ,('7', '张掖', '21')
                ,('8', '平凉', '21')
                ,('9', '酒泉', '21')
                ,('10', '庆阳', '21')
                ,('11', '定西', '21')
                ,('12', '陇南', '21')
                ,('13', '临夏回族自治州', '21')
                ,('14', '甘南藏族自治州', '21')
                ,('1', '成都', '22')
                ,('2', '自贡', '22')
                ,('3', '攀枝花', '22')
                ,('4', '泸州', '22')
                ,('5', '德阳', '22')
                ,('6', '绵阳', '22')
                ,('7', '广元', '22')
                ,('8', '遂宁', '22')
                ,('9', '内江', '22')
                ,('10', '乐山', '22')
                ,('11', '南充', '22')
                ,('12', '眉山', '22')
                ,('13', '宜宾', '22')
                ,('14', '广安', '22')
                ,('15', '达州', '22')
                ,('16', '雅安', '22')
                ,('17', '巴中', '22')
                ,('18', '资阳', '22')
                ,('19', '阿坝藏族羌族自治州', '22')
                ,('20', '甘孜藏族自治州', '22')
                ,('21', '凉山彝族自治州', '22')
                ,('1', '贵阳', '23')
                ,('2', '六盘水', '23')
                ,('3', '遵义', '23')
                ,('4', '安顺', '23')
                ,('5', '铜仁地区', '23')
                ,('6', '毕节地区', '23')
                ,('7', '黔西南布依族苗族自治州', '23')
                ,('8', '黔东南苗族侗族自治州', '23')
                ,('9', '黔南布依族苗族自治州', '23')
                ,('1', '海口', '24')
                ,('2', '三亚', '24')
                ,('3', '五指山', '24')
                ,('4', '琼海', '24')
                ,('5', '儋州', '24')
                ,('6', '文昌', '24')
                ,('7', '万宁', '24')
                ,('8', '东方', '24')
                ,('9', '澄迈县', '24')
                ,('10', '定安县', '24')
                ,('11', '屯昌县', '24')
                ,('12', '临高县', '24')
                ,('13', '白沙黎族自治县', '24')
                ,('14', '昌江黎族自治县', '24')
                ,('15', '乐东黎族自治县', '24')
                ,('16', '陵水黎族自治县', '24')
                ,('17', '保亭黎族苗族自治县', '24')
                ,('18', '琼中黎族苗族自治县', '24')
                ,('1', '昆明', '25')
                ,('2', '曲靖', '25')
                ,('3', '玉溪', '25')
                ,('4', '保山', '25')
                ,('5', '昭通', '25')
                ,('6', '丽江', '25')
                ,('7', '思茅', '25')
                ,('8', '临沧', '25')
                ,('9', '文山壮族苗族自治州', '25')
                ,('10', '红河哈尼族彝族自治州', '25')
                ,('11', '西双版纳傣族自治州', '25')
                ,('12', '楚雄彝族自治州', '25')
                ,('13', '大理白族自治州', '25')
                ,('14', '德宏傣族景颇族自治州', '25')
                ,('15', '怒江傈傈族自治州', '25')
                ,('16', '迪庆藏族自治州', '25')
                ,('1', '西宁', '26')
                ,('2', '海东地区', '26')
                ,('3', '海北藏族自治州', '26')
                ,('4', '黄南藏族自治州', '26')
                ,('5', '海南藏族自治州', '26')
                ,('6', '果洛藏族自治州', '26')
                ,('7', '玉树藏族自治州', '26')
                ,('8', '海西蒙古族藏族自治州', '26')
                ,('1', '西安', '27')
                ,('2', '铜川', '27')
                ,('3', '宝鸡', '27')
                ,('4', '咸阳', '27')
                ,('5', '渭南', '27')
                ,('6', '延安', '27')
                ,('7', '汉中', '27')
                ,('8', '榆林', '27')
                ,('9', '安康', '27')
                ,('10', '商洛', '27')
                ,('1', '南宁', '28')
                ,('2', '柳州', '28')
                ,('3', '桂林', '28')
                ,('4', '梧州', '28')
                ,('5', '北海', '28')
                ,('6', '防城港', '28')
                ,('7', '钦州', '28')
                ,('8', '贵港', '28')
                ,('9', '玉林', '28')
                ,('10', '百色', '28')
                ,('11', '贺州', '28')
                ,('12', '河池', '28')
                ,('13', '来宾', '28')
                ,('14', '崇左', '28')
                ,('1', '拉萨', '29')
                ,('2', '那曲地区', '29')
                ,('3', '昌都地区', '29')
                ,('4', '山南地区', '29')
                ,('5', '日喀则地区', '29')
                ,('6', '阿里地区', '29')
                ,('7', '林芝地区', '29')
                ,('1', '银川', '30')
                ,('2', '石嘴山', '30')
                ,('3', '吴忠', '30')
                ,('4', '固原', '30')
                ,('5', '中卫', '30')
                ,('1', '乌鲁木齐', '31')
                ,('2', '克拉玛依', '31')
                ,('3', '石河子　', '31')
                ,('4', '阿拉尔', '31')
                ,('5', '图木舒克', '31')
                ,('6', '五家渠', '31')
                ,('7', '吐鲁番', '31')
                ,('8', '阿克苏', '31')
                ,('9', '喀什', '31')
                ,('10', '哈密', '31')
                ,('11', '和田', '31')
                ,('12', '阿图什', '31')
                ,('13', '库尔勒', '31')
                ,('14', '昌吉　', '31')
                ,('15', '阜康', '31')
                ,('16', '米泉', '31')
                ,('17', '博乐', '31')
                ,('18', '伊宁', '31')
                ,('19', '奎屯', '31')
                ,('20', '塔城', '31')
                ,('21', '乌苏', '31')
                ,('22', '阿勒泰', '31')
                ,('1', '呼和浩特', '32')
                ,('2', '包头', '32')
                ,('3', '乌海', '32')
                ,('4', '赤峰', '32')
                ,('5', '通辽', '32')
                ,('6', '鄂尔多斯', '32')
                ,('7', '呼伦贝尔', '32')
                ,('8', '巴彦淖尔', '32')
                ,('9', '乌兰察布', '32')
                ,('10', '锡林郭勒盟', '32')
                ,('11', '兴安盟', '32')
                ,('12', '阿拉善盟', '32')
                ,('1', '澳门特别行政区', '33')
                ,('1', '香港特别行政区', '34')
                ,('0', '', '35');
        ");
        Db::query("
            CREATE TABLE IF NOT EXISTS `{$config['prefix']}wx_os_g_menu` (
              `id` int(11) NOT NULL AUTO_INCREMENT,
              `sex` tinyint (2) DEFAULT NULL COMMENT '1男2女',
              `os_type` tinyint (2) DEFAULT NULL COMMENT '系统类型1ios2安卓3其他',
              `country` tinyint (2) DEFAULT NULL COMMENT '国家1为中国',
              `pid` tinyint (2) DEFAULT NULL COMMENT '份id',
              `cid` tinyint (2) DEFAULT NULL COMMENT '城id',
              `lan` varchar (255) DEFAULT NULL COMMENT '语言',
              `name` varchar (255) DEFAULT NULL COMMENT '个性菜单名称',
              `status` tinyint(2) NOT NULL COMMENT '1启用0禁用',
              `add_time` int(11) DEFAULT NULL COMMENT '添加/修改时间',
              PRIMARY KEY (`id`)
            )
        ");
        $data['parent_id'] = 0;
        $data['type'] = 0;
        $data['status'] = 1;
        $data['icon'] = 'weixin';
        $data['app'] = 'plugin/QbtWxOs';
        $data['controller'] = 'AdminIndex';
        $data['action'] = 'index';
        $data['name'] = '微信公众号管理';
        $data['remark'] = '千佰特微信公众号管理';
        $id = Db::table('qbtcmf_admin_menu')->insertGetId($data);
        $data2['parent_id'] = $id;
        $data2['type'] = 0;
        $data2['status'] = 1;
        $data2['app'] = 'plugin/QbtWxOs';
        $data2['controller'] = 'AdminIndex';
        $data2['action'] = 'reply';
        $data2['name'] = '回复信息';
        $data2['remark'] = '千佰特微信公众号管理';
        Db::table('qbtcmf_admin_menu')->insert($data2);
        $data3['parent_id'] = $id;
        $data3['type'] = 0;
        $data3['status'] = 1;
        $data3['app'] = 'plugin/QbtWxOs';
        $data3['controller'] = 'AdminIndex';
        $data3['action'] = 'menu';
        $data3['name'] = '自定义菜单';
        $data3['remark'] = '千佰特微信公众号管理';
        Db::table('qbtcmf_admin_menu')->insert($data3);
        $data4['parent_id'] = $id;
        $data4['type'] = 0;
        $data4['status'] = 1;
        $data4['app'] = 'plugin/QbtWxOs';
        $data4['controller'] = 'AdminIndex';
        $data4['action'] = 'menu_list';
        $data4['name'] = '个性菜单';
        $data4['remark'] = '千佰特微信公众号管理';
        Db::table('qbtcmf_admin_menu')->insert($data4);
        return true;
    }

    // 插件卸载
    public function uninstall()
    {
        $config = Config::get('database');
        Db::query("DROP TABLE `{$config['prefix']}wx_os_config`");
        Db::query("DROP TABLE `{$config['prefix']}wx_os_reply`");
        Db::query("DROP TABLE `{$config['prefix']}wx_os_menu`");
        Db::query("DROP TABLE `{$config['prefix']}wx_os_provincial`");
        Db::query("DROP TABLE `{$config['prefix']}wx_os_city`");
        Db::query("DROP TABLE `{$config['prefix']}wx_os_g_menu`");

        Db::name('AdminMenu')->where("remark = '千佰特微信公众号管理'")->delete();
        return true;
    }


}